Due to the immense computational power of present-day graphics processors (GPU), general purpose computation on GPU's has become a very active area of research and development. The performance of algorithms running on GPU's depends very much on how well they can be arranged to fit and exploit the processors' single instruction multiple data (SIMD) architecture. Many tasks that are considered simple to perform on a central processing unit (CPU) such as grouping and counting of values of a domain for statistical purposes pose considerable challenges for implementation on a GPU. See Kevin Bjorke: Color Controls, GPU Gems, Addison-Wesley, 2004, Chapters 22 and 24.